//---------------------------------------------------------------------------

#ifndef settingsH
#define settingsH
//---------------------------------------------------------------------------

#include <vector>
#include <map>

typedef UnicodeString UStr;



//#include <XMLDoc.hpp>
//#include <xmldom.hpp>
//#include <XMLIntf.hpp>


#include "deftypes.h"
#include "settings_fields.h"


using namespace std;


#pragma warn -8070           // W8070 Function should return a value
#pragma warn -8057           // W8057 Parameter 'parameter' is never used





//class Base
//{
//public:
//   static BaseCreatorClass *make()
//   {
//	 return new Module1();
//
//   }
//   void free (Base* d)
//   {
//	  delete d;
//   }
//
//   virtual Init();
//
//protected:
//   virtual ~BaseCreatorClass();
//
//   static CSettings *m_s;
//
//};
//
//class M1 : public B
//{
//
//public:
//   M1(){};
//   virtual Init(){};
//};

//class Module2 : public BaseCreatorClass
//{
//public:
//  Module2(){};
//
//
//};

class CSettings //: public TPersistent    // : public ISettings
{
//typedef TPersistent inherited;


public:

   static void create();
   static void free();






   void load();


  // void setDefaultValue(const UnicodeString settingName, const UnicodeString settingValue, const UnicodeString settingType="");
  // void setValue(const UnicodeString settingName, const UnicodeString settingValue = ""){};
  // UnicodeString value(const UnicodeString settingName, const UnicodeString defaultValue = ""){};
  // void remove(const UnicodeString settingName){};
  // void clearAllFields(){};

   bool write(){};
   bool read(){};

private:

   TLMDStorXMLVault *m_xmlobj;   // LMD storage vault
   UStr m_Filename;              // Filename settings

   CSettings();
  // ~CSettings();
};

extern CSettings *st;



#endif

